package com.fengzhunag;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 封装
 *      是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法
 *      可以被认为是一个保护屏障，防止该类的代码和数据被外部类定义的代码随机访问。
 *      最主要的功能在于我们能修改自己的实现代码，而不用修改那些调用我们代码的程序片段。
 *  优点
 *      减少耦合
 *      类内部的结构可以自由修改。
 *      可以对成员变量进行更精确的控制。
 *      隐藏信息，实现细节。
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Husband {
    
    /*
     * 对属性的封装
     * 一个人的姓名、性别、年龄、妻子都是这个人的私有属性
     */
    private String name ;
    private String sex ;
    private int age ;
    private Wife wife;
    
    /*
     * setter()、getter()是该对象对外开发的接口
     */

}